<?php
namespace Devcopilot\Controllers;

use Devcopilot\Controllers\Front;
use Devcopilot\Models\Requirement AS RequirementModel;
use Zyucv7\Core\Web\Request;

class Requirement extends Front
{
    // 获取需求列表（用于关联需求下拉框）
    public function index()
    {
        $this->display('requirements');
    }

    // 获取需求列表
    public function list(Request $request)
    {
        // 实际开发中会从数据库获取需求列表
        $page = $request->getInput('page', 1);
        $limit = $request->getInput('limit', 10);
        $requirement = new RequirementModel();
        $model = $requirement->newQuery();
        $pager = $model->order('update_time', 'DESC')->paginate(intval($page), intval($limit));
        $this->ok($pager);
    }

    // 添加需求
    public function store(Request $request)
    {
        // 实际开发中会从请求中获取数据并保存到数据库
        $requirement = new RequirementModel();
        $form = $request->getInput('form');
        unset($form['id']);
        $requirement->save($form);
        $this->ok();
    }

    // 编辑需求
    public function update(Request $request)
    {
        // 实际开发中会从请求中获取数据并更新数据库中的记录
        $form = $request->getInput('form');
        $requirement = new RequirementModel();
        $requirement->save($form);
        $this->ok();
    }

    // 删除需求
    public function destroy(Request $request)
    {
        // 实际开发中会从数据库删除指定ID的需求
        $id = $request->getQuery('id');
        $requirement = new RequirementModel();
        $afr = $requirement->delete($id);
        $this->ok($afr);
    }
}